Automatic Generation of Security Protocols Implementations
نویسنده
چکیده
The implementation of security protocols is challenging and error-prone. A model-driven development approach allows the automatic generation of an application, from a simpler and abstract model that can be formally verified. Our AnBx compiler is a tool for automatic generation of Java code of security protocols specified in the Alice&Bob notation. In contrast with existing tools, it uses a simpler specification language and computes the consistency checks that agents have to perform on reception of messages. Moreover, the tool applies various optimization strategies to achieve efficiency both at compile and run time. The implementation of security protocols is challenging and error-prone, as experience has shown that even widely used and heavily tested protocols like TLS and SSH need to be patched every year due to low-level implementation bugs. Moreover, bugs like “Heartbleed” (OpenSSL) [1] and“goto fail” (Apple TLS implementation) [2] have shown that missing (or untested) checks, hidden deep in the code, may have a severe impact. The critical aspect is that the highlevel security properties of a protocol must be hard-coded explicitly, in terms of low-level cryptographic operations and checks of well-formedness. To counter this problem, we propose a model-driven development approach that allows for automatic generation of an application, from a simpler and abstract model that can be formally verified. Our AnBx Compiler and Code Generator [3], is a tool for automatic generation of Java code of security protocols specified in the popular Alice & Bob notation, suitable for agile prototyping. From the design perspective, working on a simplified abstract model has proven to be very effective. It not only allows reasoning about the high-level security property, abstracting from the low-level details of the cryptographic implementation, but it also helps to reduce the problem to a size that can be handled efficiently by automatic verification tools. However, in order to build robust implementations, it is necessary to define explicitly which (defensive) consistency checks on the received data need to be performed to verify that the protocol is running according to the specification. It is important to recognize that while some checks on reception are trivially derived 1 Available at http://www.dais.unive.it/~modesti/anbx/
منابع مشابه
AnBx: Automatic Generation and Verification of Security Protocols Implementations
The AnBx compiler is a tool for automatic generation of Java implementations of security protocols specified in a simple and abstract model that can be formally verified. In our model-driven development approach, protocols are described in AnBx , an extension of the Alice & Bob notation. Along with the synthesis of consistency checks, the tool analyses the security goals and produces annotation...
متن کاملEfficient Java Code Generation of Security Protocols Specified in AnB/AnBx
The implementation of security protocols is challenging and error-prone, as experience has proved that even widely used and heavily tested protocols like TLS and SSH need to be patched every year due to low-level implementation bugs. A model-driven development approach allows automatic generation of an application, from a simpler and abstract model that can be formally verified. In this work we...
متن کاملSecurity testing of session initiation protocol implementations
The mechanisms which enable the vast majority of computer attacks are based on design and programming errors in networked applications. The growing use of voice over IP (VOIP) phone technology makes these phone applications potential targets. We present a tool to perform security testing of VOIP applications to identify security vulnerabilities which can be exploited by an attacker. Session Ini...
متن کاملTowards Automatic Discovery of Deviations in Binary Implementations with Applications to Error Detection and Fingerprint Generation
Different implementations of the same protocol specification usually contain deviations, i.e., differences in how they check and process some of their inputs. Deviations are commonly introduced as implementation errors or as different interpretations of the same specification. Automatic discovery of these deviations is important for several applications. In this paper, we focus on automatic dis...
متن کاملFast automatic security protocol generation
An automatic security protocol generator is described that useslogic-based heuristic rules to guide it in a backward search for suitableprotocols from protocol goals. The approach taken is unlike exist-ing automatic protocol generators which typically carry out a forwardsearch for candidate protocols from the protocol assumptions. A pro-totype generator has been built th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015